In recent years, virtualization technology has been utilized in which a virtual machine (VM) is operated on a physical machine (PM) such as a server. Examples of virtualization technology include a LPAR (Logical PARtitioning) technique and a virtual OS (Operating System). In the LPAR, a physical machine is partitioned into multiple logical partitions by a hardware implementation. According to the virtual OS, a physical machine is separated into multiple logical parts by a software implementation.
In a physical machine, with a LPAR technique or a virtual OS, resources, such as a CPU (Central Processing Unit) and a memory, are virtualized, and a virtual machine (VM) is implemented by executing an OS (Operating System) using the virtualized resources. For example, according to one of methods for allocating virtualized resources to multiple virtual machines, correlation factors are calculated by collecting a resource usage state for each of LPAR logical partitions, and resources are allocated to each of the LPAR logical partitions based on the collected resource usage states and the calculated correlation factors.
In recent years, as an internet service, virtualization technology has been utilized in IaaS (Infrastructure as a Service) providing resources, such as a CPU, a memory, and a software, that are used for an information system.
From the perspective of a provider providing an IaaS, stopping a virtual machine is restricted based on a SLA (Service Level Agreement) that is concluded between an IaaS provider and a user of virtual machines provided as the IaaS, even when maintaining a physical machine on which the virtual machines are operated, or updating the infrastructure for managing the virtual machines. In this case, for example, maintenance of the physical machine may be performed after executing a live-migration of a currently-operated virtual machines, in which the currently-operated virtual machines are dynamically migrated to another physical machine by copying the memory content of the currently-operated virtual machines to the another physical machine.
However, the known live-migration methods have a problem in efficiency of executing a live-migration. For example, consider the case where live-migrations are performed on a plurality of virtual machines. When performing a live-migration, a physical machine consumes resources, such as a CPU, a memory, and a network bandwidth. Therefore, when performing multiple live-migrations at one time, the physical machine consumes a large amount of resources, thereby adversely affecting the other pieces of processing. Alternatively, when executing multiple live-migrations one-by-one on the plurality of virtual machines, although the amount of resources used, at one time, for the multiple live-migrations is reduced, a time needed for executing all the multiple migrations may increase. That is, effective live-migrations may not be attained in both the cases mentioned above.